<?php

class usuario_userDialogsModel extends Object {

    public function __construct() {
        $this->LoadResource("html", 'html');
        $this->LoadModel('contato/alertas', 'al');
    }
    
    public function setModelName($name){
        $this->model_name = $name;
    }
    
    public function inserir($user){
        //prepara o email
        $link    = $this->html->getLink("usuario/usuario/confirmar/".$user['cod_usuario']."-".$user['confirmkey']);
        $assunto = "Confirmação de registro";
        $corpo = "<h1>Cadastro no site ".SITE_NOME."</h1>
                  <p>Obrigado por se inscrever em nosso site.</p>
                  <p>Seu login é: ".$user['email']." </p>
                  <p>Sua senha é: ".$user['senha']." </p>
                  <p>Para concluir o seu registro <b><a href='$link'>clique aqui</a></b></p>";

        //se ocorreu alguma falha ao enviar o email
        $msg = "Um email de cadastro foi enviado para você.
                A confirmação do seu email é necessária para a correta utilização do site";
        
        if(!$this->al->alertar($assunto, $corpo, $user['email'])) $msg = $corpo;
        $this->setSuccessMessage($msg);
        return true;
    }
    
    public function editar($user, $old_user){
 
        $add = "";
        if($old_user['email'] != $user['email']){
            $add = "<p>Seu email foi alterado no site. O novo email é: ".$old_user['email']."</p>";
        }
        
        //prepara o email
        $link    = $this->html->getLink("usuario/usuario/recuperar/");
        $assunto = "Dados alterados no site ".SITE_NOME;
        $corpo = "<p>Olá ".$user['user_name']."</p>
                  <p>Você ou algum administrador do site alterou recentemente seus dados do 
                  ".SITE_NOME." em ".timeResource::getFormatedDate().".Como medida de segurança, 
                  esta notificação foi enviada ao seu endereço de e-mail</p>$add
                  <p>Se esta mudança não foi autoriazada por você, pode ter ocorrido uma fraude em sua conta.
                    Acesse o link a seguir para obter novamente o controle sobre sua conta: $link</p>
                 ";

        $msg = "Por motivos de segurança, enviamos um email para notificar o proprietário desta conta sobre a alteração dos dados. 
            Caso você seja o proprietário porfavor, desconsidere o email.";
        if(!$this->al->alertar($assunto, $corpo, $user['email'])) {
            $this->setMessages($this->al->getMessages());
        }
        
        $this->setSuccessMessage($msg);
        return true;
    }

    public function RecoverPassword($value, $confirmkey){

        //recupera o corpo e o assunto do email
        $this->LoadResource("html", 'Html');
        $link    = $this->Html->getLink("usuario/usuario/confirmrec/".$value['cod_usuario']."-$confirmkey");
        $assunto = "Recuperar senha";
        $corpo = "
            <p>Foi solicitado a recuperação de senha em nosso site</p>
            <p>Caso não tenha sido solicitado por você desconsidere este email</p>
            <p>Para concluir a recuperação de senha <a href='$link'>clique aqui</a></p>";

        //se nao conseguiu enviar email
        $this->LoadModel('contato/alertas', 'al');
        if(!$this->al->alertar($assunto, $corpo, $value['email'])){
            $this->setMessages($this->al->getMessages());
            $this->setSuccessMessage("Para concluir a recuperação de senha <a href='$link'>clique aqui</a>");
        }
        else $this->setSuccessMessage("Um email de confirmação foi enviado. Acesse o seu email e clique no link indicado para recuperar sua senha");

        return true;
    }

    public function ConfirmRecoverPassword($value, $senha){
        //recupera o corpo e o assunto do email
        $this->LoadResource("html", 'Html');
        $link1   = $this->Html->getLink("usuario/usuario/senha");
        $link2   = $this->Html->getLink("usuario/usuario/");
        $assunto = "Nova senha do site ". SITE_NOME;
        $corpo   = "
            <p>Caro usuário, <br/> Uma solicitação de recuperação de senha foi enviada para o nosso site. </p>
            <p>Sua nova senha é: $senha</p><hr/>
            <p>Para alterar sua senha <a href='$link1'>clique aqui</a></p> 
            <p>Para acessar sua conta <a href='$link2'>clique aqui</a></p>";

        //se nao conseguiu enviar email
        $this->LoadModel('contato/alertas', 'al');
        if(!$this->al->alertar($assunto, $corpo, $value['email'])){
            $this->setAlertMessage($this->al->getErrorMessage());
            $this->setSuccessMessage($corpo);
        }else $this->setSuccessMessage("Um email foi enviado para você com sua nova senha");

        return true;
    }
}

?>
